package com.gopay.scheduler.service.nucc;

import java.math.BigDecimal;
import java.util.List;

import com.gopay.common.domain.bank.route.po.pay.PayNuccChannel;
import com.gopay.common.domain.bank.route.po.pay.PayNuccOptLog;
import com.gopay.common.domain.bank.route.po.pay.PayNuccRules;

/**
 * 网联通道出款账户自动切换Service
 *
 * @author lynn
 * @data
 */
public interface AutoSwitchAcctForNuccService {
	
	public List<PayNuccChannel> findPayNuccChannelByType(String type);
	
	public List<PayNuccRules> findPayNuccRulesByChannId(String channelId);
	
	public List<PayNuccRules> findPayNuccRules(long channelId, String whFlag, String curDate, BigDecimal bankAcctAmt);
	
	public PayNuccChannel findPayNuccChannelByRecBankCode(String recBankCode);
	
	public PayNuccRules findPayNuccRulesByChannIdAndRollFlag(long channelId, String rollBackFlag);
	
	public void save(PayNuccOptLog payNuccOptLog);
	
	public void update(PayNuccChannel payNuccChannel);
	
	public void sendAutoSwitchSMS(PayNuccChannel payNuccChannel,PayNuccRules payNuccRule);

	void updatePayNuccChannel(PayNuccChannel payNuccChannel,PayNuccOptLog optLog);

}
